export default {
  APP: {
    TITLE: 'ChestnutCMS'
  },
  Common: {
    Search: 'Search',
    Reset: 'Reset',
    More: 'More',
    None: 'None',
    OK: 'OK',
    Confirm: 'Confirm',
    Cancel: 'Cancel',
    Open: 'Open',
    Close: 'Close',
    Submit: 'Submit',
    GoBack: 'Go Back',
    Success: 'Success',
    Fail: 'Fail',
    Normal: 'Normal',
    OpSuccess: 'Success',
    OpFail: 'Failed',
    AddSuccess: 'Add Success',
    SaveSuccess: "Save Success",
    EditSuccess: 'Edit Success',
    DeleteSuccess: 'Delete Success',
    CopySuccess: 'Copy Success',
    Yes: 'Yes',
    No: 'No',
    Enable: "Enable",
    Disable: "Disable",
    BeginDate: 'Begin Date',
    EndDate: 'End Date',
    BeginTime: 'Begin Time',
    EndTime: 'End Time',
    Add: 'Add',
    BatchAdd: 'Batch Add',
    Edit: 'Edit',
    Save: 'Save',
    Delete: 'Delete',
    Remove: "Remove",
    Import: 'Import',
    Export: 'Export',
    Refresh: 'Refresh',
    RefreshCache: 'Refresh Cache',
    Clean: "Clean",
    View: "View",
    Show: "Show",
    Hide: "Hide",
    Move: "Move",
    Copy: "Copy",
    Sort: "Sort",
    Details: "Details",
    Remark: 'Remark',
    CreateTime: 'Create Time',
    CreateBy: 'Create User',
    UpdateTime: 'Update Time',
    UpdateBy: 'Update User',
    Operation: 'Operation',
    Select: 'Select',
    Upload: 'Upload',
    RowNo: 'No.',
    ExpandOrCollapse: 'Expand / Collapse',
    Expand: 'Expand',
    Collapse: 'Collapse',
    CheckAll: 'Check All',
    CheckInverse: 'Inverse',
    TreeLinkage: 'Linkage',
    ConfirmDelete: 'Are you sure to delete?',
    LastWeek: 'Last week',
    LastMonth: 'Last month',
    LastThreeMonth: 'Last 3 month',
    SessionExpired: 'Session has expired, stay on the current page or re-login.',
    Tips: "Tips",
    SystemTip: 'System Tip',
    Relogin: 'Re-login',
    InvalidSession: 'Invalid session or expired, please re-login.',
    RepeatSubmit: 'The request is being processed,  please do not submit repeatedly.',
    ServerConnectFailed: 'Server connection failed.',
    ServerConnectTimeout: 'Server connection timeout.',
    ServerApiError: 'Server api error: {0}',
    Downloading: 'Downloading...',
    Loading: 'Loading...',
    DownloadFailed: 'Download failed, please contact the administrator.',
    InvalidFileSuffix: 'Unsupport file format, only "{0}" is supported.',
    SelectFirst: 'Please select first.',
    Width: "Width",
    Height: "Height",
    RuleTips: {
      NotEmpty: "Cannot be empty.",
      Email: "Invalid email.",
      Url: "Invalid url, must starts with http(s)://.",
      Code: "Only 'A-Za-z', '0-9' and '_' can be used.",
      PhoneNumber: "Invalid phone number."
    }
  },
  Error: {
    Err401: "401 Error!",
    NoPermission: "Permission denied!",
    NoPermissionTip: "Sorry, you do not have access rights. Please do not engage in illegal operations! You can return to the main page.",
    GoHome: "Back Home",
    Err404: "404 Error!",
    Err404Tip: "Sorry, the page you are looking for does not exist. Try checking for errors in the URL, then press the refresh button on the browser or try to find other content in our application.",
    PageNotFound: "Page not found!",
    Unkonwn: 'Unknown system error, please notify then administrator!'
  },
  Router: {
    Home: 'Home',
    AccountCenter: 'Account Center',
    UserPreference: 'User Preference',
    LayoutSetting: 'Layout Setting',
    Logout: 'Logout'
  },
  Login: {
    Login: 'Login',
    Logining: 'Logining...',
    Register: 'Register',
    Account: 'Account',
    Password: 'Password',
    RememberMe: 'Remember me',
    Captcha: 'Captcha',
    AccountRuleTip: "Account cannot be empty!",
    PasswordRuleTip: "Password canot be empty!",
    CaptchaRuleTip: "Captcha cannot be empty!",
    Language: 'Language',
  },
  AccountCenter: {
    PersonInfo: 'Personal Information',
    Account: 'Account',
    PhoneNumber: 'Phone Number',
    Email: 'Email',
    Dept: 'Deptment',
    Roles: 'Roles',
    CreateTime: 'Create Time',
    Basic: 'Basic',
    ResetPassword: 'Reset Password',
    NickName: 'Nick Name',
    Gender: 'Gender',
    GenderMale: 'Male',
    GenderFemale: 'Female',
    NickNameEmptyTip: 'Nick name cannot be empty.',
    EmailEmptyTip: 'Email cannot be empty.',
    EmailRuleTip: 'Invalid email.',
    PhoneNumEmptyTip: 'Phone number cannot be empty.',
    PhoneNumRuleTip: 'Invalid phone number.',
    OldPwd: 'Old Password',
    NewPwd: 'New Password',
    ConfirmPwd: 'Confirm Password',
    OldPwdPlaceHolder: 'Please input old password',
    NewPwdPlaceHolder: 'Please input new password',
    ConfirmPwdPlaceHolder: 'Please confirm new password',
    OldPwdEmptyTip: 'Old password cannot be empty.',
    NewPwdEmptyTip: 'New password cannot be empty.',
    ConfirmPwdEmptyTip: 'Confirm new password cannot be empty.',
    NewPwdLenTip: 'Should be {0} - {1} characters in length.',
    NewPwdSensitiveTip: 'Cannot contain user sensitive information.',
    NewPwdTip: 'Insecure new password .',
    NewPwdRuleLETTER_NUMBERTip: 'Must contain letters and numbers.',
    NewPwdRuleUPPER_LOW_LETTER_NUMBERTip: 'Must contain uppercase and lowercase letters and numbers.',
    NewPwdRuleLETTER_NUMBER_SPECIALTip: 'Must contain letters, numbers, special characters.',
    NewPwdRuleUPPER_LOW_LETTER_NUMBER_SPECIALTip: 'Must contain uppercase and lowercase letters, numbers and special characters.',
    ConfirmPwdErrTip: 'The two passwords were inconsistent.',
  },
  Component: {
    Progress: {
      TaskIsRunning: "Task is running...",
      Completed: " completed",
    },
    CommonImageViewer: {
      UploadSizeErr: "Uploaded file size cannot exceed {0}!",
      Uploading: "Uploading...",
      Tips: "Support: jpg/png, Size limit: 2MB"
    },
    Crontab: {
      Second: "Second",
      Minute: "Minute",
      Hour: "Hour",
      Day: "Day",
      Month: "Month",
      Week: "Week",
      Year: "Year",
      TimeExpression: "Time Expression",
      CronExpression: "Cron Expression",
      Next5RunTime: "Next 5 run time",
      Waiting: "Waiting..."
    },
    IconSelect: {
      Placeholder: "Input icon name"
    },
    RightToolbar: {
      Show: "Show",
      Hide: "Hide",
      ShowOrHide: "Show / Hide",
      HideSearch: "Hide Search",
      ShowSearch: "Show Search",
      ShowTableColumn: "Show/Hide Table Columns"
    },
    Screenfull: {
      UnSupported: "Your browser is not support full-screen mode."
    },
    TopNav: {
      MoreMenu: "More+"
    },
    Layout: {
      Settings: {
        ThemeStyle: 'Theme Style',
        ThemeColor: 'Theme Color',
        SystemLayoutConfig: 'Layout Configuration',
        EnableTopNav: 'Enable TopNav',
        EnableTagsViews: 'Enable Tags-Views',
        EnableFixedHeader: 'Fixed Header',
        ShowLogo: 'Show Logo',
        EnableDynamicTitle: 'Enable Dynamic Title',
      },
      Navbar: {
        FullScreen: 'Full Screen',
        LayoutSize: 'Layout Size',
        Language: 'Language',
        ConfirmLogoutTip: 'Confirm to logout?',
        PublishTask: "Publish Task",
        ClearPublishTask: "Clear All Tasks"
      },
      TagViews: {
        RefreshPage: "Refresh",
        CloseCurrent: "Close Current",
        CloseOther: "Close Others",
        CloseLeft: "Close Lefts",
        CloseRight: "Close Rights",
        CloseAll: "Close All"
      }
    }
  },
  Home: {
    Welcome: "Welcome back",
    LastLoginTime: "Last login time",
    LastLoginIP: "Last login ip"
  },
  System: {
    User: {
      UserId: "User ID",
      UserName: "User Name",
      NickName: "Nick Name",
      Dept: "Dept",
      PhoneNumber: "Phone Num",
      Email: "Email",
      Password: "Password",
      Gender: "Gender",
      Status: "Status",
      Post: "Posts",
      Role: "Roles",
      ResetPwd: "Reset Password",
      RoleSetting: "Role Setting",
      Enable: "enable",
      Disable: "disable",
      ConfirmChangeStatus: 'Are you sure to {0} "{1}"?',
      ConfirmDelete: 'Are you sure to delete user with ids: {0}?',
      InputNewPwd: 'Please input new password for user "{0}"',
      ChangePwdSucc: 'Reset success, new password is: {0}',
      ImportResult: "Import Result",
      ImportTip1: "Drag and drop your file here, or click to upload.",
      ImportUpdate: "Update existing user?",
      DownloadTemplate: "Download Template",
      EditAvatar: 'Edit Avatar',
      UploadAvatar: 'Click to upload avatar',
      SelectUser: "Select User",
      IsAllocatedRole: "Allocated",
      Dialog: {
        Add: "Add User",
        Edit: "Edit User",
        Import: "Import Uesrs"
      },
      Placeholder: {
        DeptName: "Input deptment name.",
        UserName: "Input user name.",
        NickName: "Input nick name",
        PhoneNumber: "Input phone number.",
        Status: "User Status",
        Dept: "Select deptment",
        Email: "Input email",
        Password: "Input password",
        Gender: "Select gender",
        Post: "Select posts",
        Role: "Select roles"
      },
      RuleTips: {
        UserName1: "User name cannot be empty.",
        UserName2: "User name length must be between 2 and 20",
        DeptId: "User department cannot be empty.",
        NickName: "Nickname cannot be empty",
        Password1: "Password cannot be empty",
        Email: "Invalid email address",
        PhoneNumber: "Invalid phone number"
      }
    },
    UserPreference: {
      Shortcut: "Shortcut Menu",
      StatIndex: "Statistics Default Menu",
      IncludeChildContent: "Include Children In Content List",
      OpenContentEditorW: "New Window For Content Editor",
      ShowContentSubTitle: "Show Content Subtitle",
      CatalogTreeExpandMode: "Catalog Tree Expand Mode",
      CatalogTreeExpandMode_Normal: "Common",
      CatalogTreeExpandMode_Accordion: "Accordion",
    },
    UserRole: {
      UserInfo: "User Information",
      Roles: "User Roles",
      AddUser: "Add User",
      RemoveUser: "Remove User"
    },
    Role: {
      RoleId: "Role ID",
      RoleName: "Role Name",
      RoleKey: "Role Key",
      RoleKeyTips: "Role key cannot be empty and only number, character and underline.",
      Sort: "Sort",
      Status: "Status",
      UserSetting: "User Setting",
      MenuPerms: "Menu Perms",
      PermissionSetting: "Permission Setting",
      Enable: "enable",
      Disable: "disable",
      ConfirmChangeStatus: 'Are you sure to {0} "{1}"?',
      DataScope: "Data Permissions",
      ConfirmRemoveUser: "Are you sure to remove users?",
      Dialog: {
        Add: "Add Role",
        Edit: "Edit Role",
        DataScope: "Grant Data Permissions"
      },
      Placeholder: {
        RoleName: "Input role name",
        RoleKey: "Input role key",
        Status: "Role status"
      },
      RuleTips: {
        RoleName: "Role name cannot be empty.",
        RoleKey: "Role key cannot be empty.",
        Sort: "Role sort cannot be empty."
      }
    },
    Permission: {
      MenuPriv: "Meun",
      SitePriv: "Site",
      CatalogPriv: "Catalog",
      ContentPriv: "Content",
      PageWidgetPriv: "Page Widget"
    },
    Menu: {
      MenuName: "Menu Name",
      MenuType: "Menu Type",
      Icon: "Icon",
      Status: "Status",
      StatusTips: "Router will be invisible and inaccessible when router is disabled.",
      Sort: "Sort",
      Perms: "Permission Key",
      Component: "Component",
      ComponentTips: "Component path, eg: `system/user/index`, default directory is `views`.",
      ParentMenu: "Parent Menu",
      TypeDir: "Directory",
      TypeMenu: "Menu",
      TypeBtn: "Button",
      IsExternalLink: "Is External Link",
      IsExternalLinkTips: "Router must start whith `http(s):// for external link.",
      RouterLink: "Router",
      RouterLinkTips: "Router visit path, eg: `user`, Router must start whith `http(s):// for external link. ",
      PermsTips: 'Permission Key is used for controller, eg: @Priv(type = "sys_user", value = "system:role:add")',
      RouterParams: "Router Params",
      RouterParamsTips: 'Router default parameters, eg: `{"id": 1, "name": "ry"}`',
      IsCache: "Is Cache",
      IsCacheTips: "Cached with `keep-alive`, need component's name same with path.",
      EnableCache: "Cache",
      DisableCache: "Non Cache",
      Visible: "Is Visible",
      VisibleTips: "Router is not show in sidebar but accessible when invisible.",
      ConfirmDelete: 'Are you sure to delete menu "{0}"?',
      Dialog: {
        Add: "Add Menu",
        Edit: "Edit Menu"
      },
      Placeholder: {
        MenuName: "Input menu name",
        Status: "Menu Status",
        ParentMenu: "Select parent menu",
        Icon: "Click to choose icon",
        RouterLink: "Input router link",
        Component: "Input component path",
        Perms: "Input permisison key",
        RouterParams: "Input router parameters",
      },
      RuleTips: {
        MenuName: "Menu cannot be empty.",
        Sort: "Menu sort cannot be empty.",
        RouterLink: "Router link cannot be empty."
      },
      Shortcut: "Shortcut"
    },
    Dept: {
      DeptName: "Dept Name",
      Status: "Status",
      ParentDept: "Parent Dept",
      Sort: "Sort",
      Leader: "Leader",
      Phone: "Phone Num.",
      Email: "Email",
      ConfirmDelete: '是否确认删除名称为"{0}"的数据项？',
      Dialog: {
        Add: "Add Department",
        Edit: "Edit Department"
      },
      Placeholder: {
        DeptName: "Input department name",
        Status: "Department Status",
        ParentDept: "Input parent department",
        Leader: "Input department leader",
        Phone: "Input phone number",
        Email: "Input email"
      },
      RuleTips: {
        DeptName: "Department name cannot be empty.",
        ParentDept: "Parent department cannot be empty.",
        Sort: "Sort cannot be empty",
        Email: "Invalid emial.",
        Phone: "Invlaid phone number."
      }
    },
    Post: {
      PostId: "Post ID",
      PostCode: "Post Code",
      PostName: "Post Name",
      Status: "Status",
      PostSort: "Sort",
      ConfirmDelete: 'Are you sure to delete posts with ids: {0}?',
      Dialog: {
        Add: "Add Post",
        Edit: "Edit Post"
      },
      Placeholder: {
        PostCode: "Input post code",
        PostName: "Input post name",
        Status: "Post Status"
      },
      RuleTips: {
        PostName: "Post name cannot be empty.",
        PostCode: "Post code cannot be empty.",
        PostSort: "Post sort cannot be empty."
      }
    },
    Dict: {
      DictId: "ID",
      DictName: "Dict Name",
      DictType: "Dict Type",
      DictCode: "Dict Code",
      DictLabel: "Dict Label",
      DictValue: "Dict Value",
      DictSort: "Sort",
      SystemFixed: "Fixed",
      CssClass: "CSS Class",
      ListClass: "List Class",
      Status: "Status",
      DataList: "Dictionary Datas",
      ConfirmDelete: 'Are you sure to delete dict with ids: {0}?',
      ConfirmDeleteDatas: 'Are you sure to delete dict datas with codes: {0}?',
      Dialog: {
        Add: "Add Dict",
        Edit: "Edit Dict",
        AddData: "Add Dict Data",
        EditData: "Edit Dict Data"
      },
      Placeholder: {
        DictName: "Input dict name",
        DictType: "Input dict type",
        DictCode: "Input dict data code",
        DictLabel: "Input dict data label",
        DictValue: "Input dict data value",
        CssClass: "Input dict data css class",
        Status: "Input status"
      },
      RuleTips: {
        DictName: "Dict name cannot be empty.",
        DictType: "Dict type cannot be empty.",
        DictCode: "Dict data code cannot be empty.",
        DictLabel: "Dict data label cannot be empty.",
        DictValue: "Dict data value cannot be empty.",
        DictSort: "Dict sort cannot be empty.",
      }
    },
    Config: {
      ConfigId: "Config ID",
      ConfigName: "Config Name",
      ConfigKey: "Config Key",
      ConfigValue: "Config Value",
      ConfigType: "Fixed Config",
      ConfirmDelete: 'Are you sure to delete config with ids: {0}?',
      Dialog: {
        Add: "Add Config",
        Edit: "Edit Config"
      },
      Placeholder: {
        ConfigName: "Input config name",
        ConfigKey: "Input config key",
        ConfigValue: "Input config value",
        ConfigType: "Fixed Config",
      },
      RuleTips: {
        ConfigName: "Config name cannot be empty.",
        ConfigKey: "Config key cannot be empty.",
        ConfigValue: "Config value cannot be empty.",
      }
    },
    Notice: {
      NoticeTitle: "Notice Title",
      NoticeType: "Notice Type",
      NoticeContent: "Content",
      Status: "Status",
      ConfirmDelete: 'Are you sure to delete noitces with ids: {0}?',
      Dialog: {
        Add: "Add Notice",
        Edit: "Edit Notice"
      },
      RuleTips: {
        NoticeTitle: "Notice title cannot be empty.",
        NoticeType: "Notice type cannot be empty."
      }
    },
    I18n: {
      LangTag: "Language Tag",
      LangKey: "Language Key",
      LangValue: "Language Value",
      EditorTitle: "Edit i18n `{0}`",
      Dialog: {
        Add: "Add I18n",
        Edit: "Edit I18n"
      },
      RuleTips: {
        LangTag: "Language tag cannot be empty.",
        LangKey: "Language key cannot be empty.",
        LangValue: "Language value cannot be empty.",
      }
    },
    IPRule: {
      Type: "Type",
      ExpireTime: "Expire Time",
      CIDR: "CIDR",
      Dialog: {
        Add: "Add IP Rule",
        Edit: "Edit IP Rule",
      },
      RuleTips: {
        IP: "IP address cannot be empty.",
        Type: "Type cannot be empty.",
        CIDR: "CIDR cannot be empty."
      }
    },
    OpLog: {
      Title: "Title",
      Operator: "Operator",
      OpType: "Op Type",
      ResponseCode: "Res Code",
      OpTime: "Op Time",
      Cost: "Op Cost",
      LogId: "Log ID",
      RequestMethod: "Request Method",
      IP: "IP",
      Location: "Location",
      Details: "Details",
      DetailsTitle: "Operation Details",
      LoginInfo: "Information",
      RequestUrl: "Request URL",
      Method: "Method",
      RequestParams: "Request Args",
      Response: "Reponse Result",
      ConfirmDelete: 'Are you sure to delete logs with ids: {0}?',
      ConfirmClean: 'Are you sure to clean all logs?'
    },
    LoginInfo: {
      LogId: "Log ID",
      IP: "IP",
      UserType: 'User Type',
      UserId: "UID",
      UserName: "User Name",
      Status: "Status",
      LoginTime: "Login Time",
      Unlock: "Unlock",
      Location: "Location",
      Browser: "Browser",
      OS: "OS",
      OpMsg: "Message",
      ConfirmUnlock: 'Are you sure to unlock user: {0}?',
      UnlockSuccess: 'Unlock user "{0}" success.'
    },
    GenCode: {
      EditGenConfig: 'Edit Gen Config'
    },
    Security: {
      PasswordLength: "Password Length",
      PasswordRule: "Password Rule",
      PasswordExpireSeconds: "Password Expiration Seconds",
      PasswordRetryLimit: "Password Retry Day Limit",
      Status: "Status",
      PasswordConfig: "Password Configuration",
      PasswordMinLength: "Pwd Min Length",
      PasswordMaxLength: "Pwd Max Length",
      PasswordSensitive: "Pwd Sensitive Char",
      WeakPasswords: "Weak Password",
      WeakPasswordsPlaceholder: "One weak password per line.",
      PasswordExpireSecondsTip: "0 means never expires, with a maximum of 100 days.",
      ForceModifyPwdAfterAdd: "Modify Pwd For First Login",
      ForceModifyPwdAfterAddTip: "Only applicable to adding users in the backend.",
      ForceModifyPwdAfterReset: "Modify Pwd For Reset",
      ForceModifyPwdAfterResetTip: "Only applicable to reset in the backend.",
      LoginConfig: "Login Configuration",
      PasswordRetryLimitTip: "0 means unlimited.",
      PasswordRetryStrategy: "Pwd Retry Strategy",
      PasswordRetryLockSeconds: "Lock User Seconds",
      PasswordRetryLockSecondsTip: "Maximum of 100 days.",
      AddTitle: "Add Security Configuration",
      EditTitle: "Edit Security Configuration",
      ForceModifyPwd: "Password needs to be changed after first login or password reset!",
      PwdExpired: "Your password has expired. For the security of your account, please change the password immediately!"
    },
    WeChat: {
      Backend: "Backend",
      AddTitle: "Add WeChat Configuration",
      EditTitle: "Edit WeChat Configuration",
    }
  },
  Monitor: {
    Job: {
      JobId: "Job ID",
      JobName: "Job Name",
      JobGroup: "Job Group",
      Status: "Status",
      InvokeTarget: "Invoke Target",
      CronExpression: "Cron",
      CronGenerator: "Cron Generator",
      GenCron: "Generate Cron",
      Concurrent: "Concurrent",
      Allow: "Allow",
      Forbid: "Forbid",
      Enable: "Enable",
      Disable: "Disable",
      MisfirePolicy: "Policy",
      DefaultPolicy: "Default",
      RunNow: "Run Immediately",
      RunOnce: "Run Once",
      Manual: "Manual Run",
      Details: "Job Details",
      BeanExample: "Bean invoke eg: ryTask.ryParams('ry')",
      ClassExample: "Class invoke eg: com.test.quartz.task.RyTask.ryParams('ry')",
      ParamsTips: "Support Parameter: String, Boolean, Long, Float, Integer",
      NextRunTime: "Next Run Time",
      ConfirmDelete: 'Are you sure to delete jobs with ids: {0}?',
      ConfirmChangeStatus: 'Are  you sure to "{0}" job "{1}"?',
      ConfirmRunOnce: 'Are you sure to run job "{0}" once immediately?',
      Logs: "Job Logs",
      ExecTime: "Execute Time",
      JobLogId: "Log ID",
      JobLogMessage: "Log Message",
      LogDetails: "Details",
      ExceptionInfo: "Exception Info",
      ConfirmClean: 'Are you sure to clean all logs?',
      Dialog: {
        Add: "Add Job",
        Edit: "Edit Job",
        Log: "Log Details",
      },
      Placeholder: {
        InvokeTarget: "Input invoke target string"
      },
      RuleTips: {
        JobName: "Job name cannot be empty.",
        InvokeTaget: "Invoke taget cannot be empty.",
        CronExpression: "Cron expression cannot be empty."
      }
    },
    ScheduledTask: {
      Type: "Type",
      Name: "Name",
      Status: "Status",
      ReadyTime: "Ready Time",
      ExecOnce: "Execute Once",
      Logs: "Logs",
      TriggerType: "Trigger",
      CronExpression: "CRON Expression",
      TriggerTypePeriodic: "Periodic",
      FixedRate: "Fixed Rate",
      FixedRateTipY: "Yes: The specified time interval between two task start times.",
      FixedRateTipN: "No: Specify the duration between the end time of the previous task and the start time of the next task.",
      PeriodicSeconds: "Period (s)",
      PeriodicDelaySeconds: "Initial Delay (s)",
      ExecResult: "Result",
      ErrMsg: "Error",
      AddTitle: "Add Scheduled Task",
      EditTitle: "Edit Scheduled Task",
      LogDialogTitle: "Scheduled Task Logs"
    },
    Logs: {
      LogId: "ID",
      LogName: "Name"
    },
    Online: {
      LoginIP: "Login IP",
      UserName: "User Name",
      TokenID: "Token",
      DeptName: "Dept Name",
      LoginLocation: "Location",
      Browser: "Browser",
      OS: "OS",
      LoginTime: "Login Time",
      ForceExit: "Force Exit",
      ConfirmForceExit: 'Are you sure to force exit user "{0}"?',
    },
    Server: {
      Loading: "Loading...",
      Attribute: "Attribute",
      Value: "Value",
      ApplicationInfo: "Application Infomation",
      AppName: "Name",
      AppVersion: "Version",
      LatestVersion: "Latest",
      CPU: "CPU",
      CPUCoreNum: "Core Number",
      CPUUserUsage: "User Usage",
      CPUSysUsage: "System Usage",
      CPUIdle: "Idle",
      Memory: "Memory",
      JVM: "JVM",
      TotalMemory: "Total",
      UsedMemory: "Used",
      LeftMemory: "Left",
      MemoryUsage: "Percent",
      ServerInfo: "Server",
      ServerName: "Name",
      OSName: "OS",
      ServerIP: "IP",
      OSArch: "OS Arch",
      JVMInfo: "JVM",
      JVMName: "Java Name",
      JVMVersion: "Java Version",
      JVMStartTime: "Start Time",
      JVMRunTime: "Run Time",
      JVMHome: "Java Home",
      ProjectDir: "Project Path",
      JVMArgs: "JVM Args",
      Disk: "Disk",
      DiskPath: "Path",
      FileSystem: "File System",
      DiskType: "Type",
      DiskSize: "Size",
      DiskLeftSize: "Left",
      DiskUsedSize: "Used",
      DiskUsedPercent: "Percent",
      DbInfo: "Data Source List",
      DbPoolName: "Data Source",
      DbDriverClass: "Driver Class",
      DbUrl: "URL",
      DbUserName: "User Name"
    },
    Cache: {
      Basic: "Basic Infomation",
      RedisVersion: "Redis Version",
      RunMode: "Mode",
      Port: "Port",
      ClientNumber: "Client Number",
      UpTimeInDays: "Up Time(days)",
      Memory: "Memory Usage",
      CPU: "CPU Usage",
      MaxMemory: "Max Memory",
      AOFStatus: "AOF",
      RDBStatus: "RDB",
      DBSize: "Key Size",
      InputKbps: "Input(Kbps)",
      CommandStat: "Command Stat",
      MemoryInfo: "Memory Stat",
      Command: "Command",
      PeakValue: "Peak Value",
      MemoryCost: "Memory Cost",
      CacheList: "Cache List",
      CacheName: "Cache Name",
      CachePrefix: "Cache Key(Prefix)",
      CacheKeyList: "Cache Keys",
      CacheKey: "Cache Key",
      CacheValue: "Cache Value",
      ClearCache: "Clear All",
      ExpireTime: "Expire Time In Seconds",
      ClearSuccess: "Clear cache [{0}] success."
    },
    Async: {
      Type: "Type",
      TaskID: "Task ID",
      Status: "Status",
      Percent: "Rate",
      ErrMessage: "Err Message",
      Stop: "Stop",
      ReadyTime: "Ready Time"
    }
  },
  CMS: {
    Dashboard: {
      PublishStrategy: "Publish Strategy",
      ResourceRoot: "Resource Root"
    },
    ContentCore: {
      ContentType: "Content Type",
      CatalogType: "Catalog Type",
      InternalDataType: "Internal Data Type",
      ResourceType: "Resource Type",
      InternalUrl: "Internal Url",
      SelectCatalog: "Select Catalog",
      SelectContent: "Select Content",
      ToPublish: "To Publish",
      Publish: "Publish",
      Preview: "Preview",
      Browse: "Browse",
      ToPublishSuccess: "To Publish Success",
      PublishSuccess: "Publish success.",
      PublishProgressTitle: "Publish task",
      ApplyToCatalog: "Apply to catalog",
      SEOConfig: "SEO Config",
      SEOTitle: "SEO Title",
      SEOKeyword: "SEO Keyword",
      SEODescription: "SEO Description",
      PublishPipe: "Publish Pipe",
      Route: {
        EditSite: "Site Details",
        EditTemplate: "Template Details",
        EditFile: "File Details",
        EditContent: "Content Details",
        EditManualBlock: "Manual Block",
        EditAdvSpace: "AD Space",
        EditAdv: "Advertising",
      },
      ClientType: {
        PC: "Desktop",
        Phone: "Phone",
        Pad: "Pad"
      }
    },
    UEditor: {
      InsertResource: "Insert Resource",
      ResourceType: {
        Image: "Image",
        Audio: "Audio",
        Video: "Video",
        File: "File"
      },
      InsertThirdVideo: "Insert third-party sharing video",
      ThirdVideo: {
        DialogTitle: "Insert third-party sharing video",
        Code: "Video Sharing Code",
        CodeTip: "Please use the `<iframe>` sharing code.",
        Width: "Width",
        Height: "Height",
        Align: "Alignment",
        AlignCenter: "Center",
        AlignLeft: "Left",
        AlignRight: "Right",
        RuleTips: {
          Code: "Cannot be empty.",
          IframeSrc: "The video code <iframe>  attribtue `src` is missing!"
        }
      },
      VideoModifier: {
        DialogTitle: "Video Infomation",
        Cover: "Cover",
        UploadCover: "Upload",
        FrameCover: "Frame Screenshot",
        FrameCoverSeconds: "Screenshot Seconds",
        Screenshot: "Screenshot",
        Controls: "Controls",
        Loop: "Loop",
        AutoPlay: "Auto Play",
        Preload: "Preload Mode",
        PreloadNone: "None",
        PreloadMeta: "Meta",
        PreloadAuto: "Auto",
        Muted: "Muted",
        Width: "Width",
        Height: "Height",
      },
      InsertBaiduMap: "Baidu Map",
      BaiduMap: {
        DialogTitle: "Baidu Map",
        City: "City",
        Address: "Address",
        DynamicMap: "Dynamic Map",
        MarkerPosition: "Marker",
        NoAccessKey: "Missing system config `BaiduMapAccessKey`.",
        GoSysConfig: "Config Now!"
      },
      InsertContentLink: "Content Link",
      InsertCatalogLink: "Catalog Link",
      InsertImageGroup: "Image Group",
      ReplaceWord: "Replace",
      HighlightWord: "Highlight",
      InputReplacement: "Input replacement",
      FoundSensitiveWord: "Found Sensitive Word",
      FoundFallibleWord: "Found Fallible Word",
      SensitiveWordCheck: "Sensitive Word",
      FallibleWordCheck: "Fallible Word",
      NoSensitiveWord: "No sensitive word.",
      NoFallibleWord: "No fallible word."
    },
    Site: {
      SiteId: "Site ID",
      Name: "Site Name",
      Path: "Site Path",
      Logo: "LOGO",
      PublishHome: "Publish Home",
      PublishAll: "Publish All",
      PublishPublished: "Published Content",
      PublishToPublish: "ToPublish Content",
      PublishDraft: "Draft Content",
      PublishReEdit: "Re-Edit Content",
      PublishOffline: "Offline Content",
      BasicCardTitle: "Basic",
      ResourceUrl: "Resource Domain",
      Desc: "Description",
      DeleteProgressTitle: "Delete site task",
      PublishPipeCardTitle: "Publish Pipe Configuration",
      StaticFileType: "Static Type",
      IndexTemplate: "Home Template",
      NoPublishPipeTip: "Preivew or publish need add publish pipe first, confirm the current site before add.",
      GoAddPublishPipe: "Add",
      ExModelCardTitle: "Ex-Model Configuration",
      CurrentSelectorTitle: "Change Current Site",
      AlreayCurrentSite: "Please select a non current site.",
      ImportTheme: "Import Theme",
      ExportTheme: "Export Theme",
      ThemeFileTypeErrMsg: "Theme file only supported .zip!",
      EnableSitemap: "Enable Sitemap",
      SitemapPageType: "Sitemap Url Type",
      SitemapUrlLimit: "Sitemap Url Limit",
      GenSitemap: "Generate Sitemap",
      SitemapProgressTitle: "Generate sitemap task",
      Domain: "URL",
      UEditorCss: "UEditor CSS",
      PrefixMode: "Prefix Mode",
      PrefixMode_Absolute: "Absolute",
      PrefixMode_Relative: "Relative",
      Tab: {
        Basic: "Basic Information",
        Extend: "Extend Config",
        Property: "Extend Propperty",
        DefaultTemplate: "Default Template"
      },
      Dialog: {
        AddTitle: "Add Site"
      },
      RuleTips: {
        Name: "Cannot be empty.",
        Path: "Cannot be empty and only [A-Za-z0-9]+"
      },
      Extend: {
        BasicCardTitle: "Basic",
        EnableIndex: "Enable Content Index",
        WordAnalyzeType: "Word Anaylze Type",
        TitleRepeatCheck: "Title Repeat Check",
        TitlteRepeatCheckNone: "None",
        TitlteRepeatCheckSite: "Check in site",
        TitlteRepeatCheckCatalog: "Check in Catalog",
        ExModel: "Site Ex-Model",
        PublishMaxPageNum: "Publish Catalog Max Page",
        EnableEditPublished: "Edit Published Content",
        EnableSSI: "Enable SSI",
        CatalogConfCardTitle: "Catalog",
        CatalogPageSize: "Page List Size",
        CatalogPageSizeTip: "When the value is 0, the system defaults to 10",
        ContentConfCardTitle: "Content",
        AutoArticleLogo: "Auto Article Cover",
        RecycleKeepDays: "Recycle expire days",
        RecycleKeepDaysTip: "Keep forever with 0",
        ResourceConfCardTitle: "Resource Storage",
        ThumbnailWidth: "Thumbnail Width",
        ThumbnailHeight: "Thumbnail Height",
        ThumbnailSizeTip: "Do not generate thumbnails when width/height is 0",
        StorageType: "Storage Type",
        Local: "Local",
        AliyunOSS: "AliyunOSS",
        TencentCOS: "TencentCOS",
        MinIO: "MinIO",
        ImageWatermarkCardTitle: "Image Watermark",
        ImageWatermark: "Enable Watermark",
        WatermarkImage: "Watermark Image",
        WatermarkPosition: "Position",
        WatermarkOpacity: "Opacity",
        WatermarkOpacityTip: "Range is 0 - 1, the default is 1 for opaque.",
        WatermarkRatio: "Ratio",
        WatermarkRatioTip: "The ratio of the watermark and watermark should be at least 20 width/height.",
        WordConfCardTitle: "Words",
        SensitiveWordEnable: "Replace Sensitive Word On Save Article",
        ErrorProneWordEnable: "Replace Fallible Word On Save Article",
        HotWordGroup: "Hot Word Group",
        StatConfCardTitle: "Statistics",
        BaiduApiKey: "Baidu ApiKey",
        BaiduSecretKey: "Baidu SecretKey",
        BaiduRefreshToken: "Baidu RefreshToken",
        BaiduAccessToken: "Baidu AccessToken",
        BaiduDomain: "Baidu Domains",
        BaiduDomainTip: "Domain names separated by commas.",
        SiteApiUrl: "Site Api Url",
        CustomFormCardTitle: "Custom Form Configuration",
        EnableCustomFormCaptcha: "Enable Captcha On Submit",
        CommentCardTitle: " Comment Configuration",
        EnableCommentAudit: "Enable Comment Audit",
        SEO: "SEO Configuration",
        BaiduPushAccessSecret: "Baidu Push API Secret",
        DownloadRemoteImage: "Enable Download Remote Image",
        EnableSiteDeleteBackup: "Enable Site Delete Backup",
        MemberResourceUrl: "Member Resource Domain",
        ShortTitleLabel: "Short Title Label",
        SubTitleLabel: "Sub Title Label",
      },
      Property: {
        QueryPlaceholder: "Input name/code",
        PropName: "Name",
        PropCode: "Code",
        PropValue: "Value",
        RuleTips: {
          PropName: "Cannot be empty.",
          PropCode: "Cannot be empty and only [A-Za-z0-9_]+"
        }
      },
      DefaultTemplate: {
        Title: "Default Template",
        StaticizePageConfig: "Staticize Page Configuration",
        DynamicPageConfig: "Dynamic Page configuration",
        CatalogList: "Catalog List Template",
        ContentDetail: " Detail Template",
        SelectCatalogFirst: "Please select catalog first.",
        CustomForm: "Custom Form Template",
        SearchResult: "Search Page Template",
        AccountCentre: "Account Centre Template",
        MemberLogin: "Member Login Template",
        MemberRegister: "Member Register Template",
        MemberForgetPwd: "Member Forget Password Template",
        MemberSetting: "Member Setting Template",
        MemberBindEmail: "Member Bind Email Template",
        MemberResetPwd: "Member Reset Password Template",
        MemberContribute: "Member Contribute Template",
      },
      Dashboard: {
        DataCountCard: "Statistical Data",
        Catalog: "Catalog",
        Content: "Content",
        Resource: "Resource",
        Template: "Template"
      }
    },
    Catalog: {
      Tab: {
        Basic: "Basic Information",
        Extend: "Extend Configuration",
      },
      AddCatalog: "Add Catalog",
      BatchAddCatalog: "Batch Add Catalog",
      BatchAddTip: "Each line has one catalog, and two spaces are used in sequence to represent subordinate catalog.",
      CatalogTree: "Catalog Tree",
      CatalogNamePlaceholder: "Input catalog name",
      ParentCatalog: "Parent Catalog",
      Basic: "Basic",
      Content: " Content",
      SortTip: "Positive numbers move down, negative numbers move up",
      DeleteTip: "Are you sure to delete the catalog with contents and chilren?",
      CatalogId: "Catalog ID",
      Name: "Name",
      Alias: "Alias",
      Path: "Path",
      CatalogType: "Catalog Type",
      RedirectUrl: "Redirect Url",
      Desc: "Description",
      StaticFlag: "Enable Staticize",
      TagIgnore: "Ingore By Directive",
      Logo: "Logo",
      PublishPipeConf: "Publish pipe configuration",
      IndexTemplate: "Index Template",
      ListTemplate: "List Template",
      DetailTemplate: " Detail Template",
      ContentExTemplate: "Context Ext Template",
      ApplyToChildren: "Apply To Children",
      ExModelProps: "Ex-Model Properties",
      PublishDialogTitle: "Publish catalog",
      PublishTips: "Are you sure to publish the catalog?",
      ContainsChildren: "Include children",
      SelectCatalog: "Select Catalog",
      CopyContent: "Deep Copy",
      CopyContentTip: "Depe Copy: independently of the source.",
      MappingContent: "Mapping",
      MappingContentTip: "Mapping: only basic content, the extend content is from source.",
      SortUp: "MoveUp",
      SortDown: "MoveDown",
      Merge: "Merge",
      Clear: "Clear",
      ExportCatalogTree: "Catalog Tree",
      NoSitePermissions: "No site permissions.",
      ContentPathRule: "Content Path Rule",
      RuleTips: {
        Name: "Cannot be empty",
        Alias: "Cannot be empty and only [A-Za-z0-9_]+",
        Path: "Cannot be empty and only [A-Za-z0-9_]+",
        CatalogType: "Cannot be empty"
      },
      SelectCatalogFirst: "Please select catalog first",
      PublishProgressTitle: "Publish catalog task",
      DeleteProgressTitle: "Delete catalog task",
      MoveProgressTitle: "Move catalog task",
      MergeProgressTitle: "Merge catalog task",
      ClearProgressTitle: "Clear catalog task",
      ClearTip: "Are you sure to clear all contents in this catalog?",
      TemplateConfig: "Template Configuration",
      OtherConfig: "Other Configuration",
      Extend: {
        Basic: "Basic",
        CatalogPageSize: "Page list Size",
        CatalogPageSizeTip: "When the value is -1, the set value of the site is taken",
        EnableIndex: "Enable Content Index",
        CatalogExModel: "Catalog Ex-Model",
        ContentExModel: "Content Ex-Model",
        ContentConfig: "Content Configuration",
        WordConfig: "Word Configuration",
        HotWordGroup: "Hot Word Group",
        EnableContribute: "Enable Contribute"
      }
    },
    Content: {
      Tab: {
        ContentList: "Content",
        PageWidget: "Page Widget",
        RecycleBin: "Recycle Bin"
      },
      Placeholder: {
        Title: "Input content title",
        ImportCSS: "Select publish pipe style",
      },
      Title: "Title",
      SubTitle: "Subtitle",
      ShortTitle: "Short Title",
      ContentType: "Content Type",
      Status: "Status",
      SetTop: "Topping",
      CancelTop: "Cancel Topping",
      TopEndTime: "Topping End",
      Offline: "Offline",
      Archive: "Archive",
      GenIndex: "Create Index",
      Recommend: "Recommend",
      CancelRecommend: "Cancel Recommend",
      Hot: "Hot",
      CancelHot: "Cancel Hot",
      SEOConfig: "SEO",
      SortOption: {
        Default: "Default Sorting",
        CreateTimeAsc: 'Create Time ASC',
        CreateTimeDesc: 'Create Time DESC',
        PublishDateAsc: 'Publish Date ASC',
        PublishDateDesc: 'Publish Date DESC',
        ViewCountDesc: "View Count Desc",
        FavoriteCountDesc: "Favorite Count Desc",
        LikeCountDesc: "Like Count Desc",
        CommentCountDesc: "Comment Count Desc"
      },
      Restore: "Restore",
      SelectCatalogFirst: "Select catalog first",
      StatusBefore: " Status",
      DeleteTime: "Delete Time",
      DeleteUser: "Delete User",
      BackToList: "Go Back",
      Lock: "Lock",
      Unlock: "Unlock",
      LinkFlag: "Link Content",
      RedirectUrl: "Redirect Url",
      DownloadImage: "Download",
      DownloadImageTip: "Download the remote image in article body.",
      Basic: "Basic",
      Catalog: "Catalog",
      Logo: "Cover",
      Author: "Author",
      Editor: "Editor",
      Original: "Original",
      Attribute: "Attributes",
      Summary: "Summary",
      Tags: "Tag",
      Keywords: "Keyword",
      Source: "Source",
      SourceUrl: "Source Url",
      PublishDate: "Publish Date",
      OfflineDate: "Offline Date",
      PublishPipe: "Publish Pipe",
      StaticPath: "Static Path",
      Template: "Template",
      RuleTips:  {
        Title: "Title cannot be empty."
      },
      SaveProgressTitle: "Content Saving",
      SortDialogTitle: "Content Sort",
      SortDialogTip: "The content will be sort before the selected content in this list. If the selected content is at the top, the sorting content will also be added to the top status, and if not, the top status will be cancelled.",
      CloseContentEditorTip: "Closing the page will lose unsaved content. Are you sure to close?",
      ExtendConfig: "Extend",
      ExtendTemplate: "Extend Template",
      ViewCount: "Views",
      FavoriteCount: "Favorities",
      LikeCount: "Likes",
      CommentCount: "Comments",
      RelaContent: "Related contents",
      PushToBaidu: "Push To Baidu",
      PushToBaiduResult: "[ {0} ] Success: {1}, remain: {2}.<br/>",
      ImportCSSTip: "Import site/catalog publish-pipe prop 'UEditor CSS'.",
      OpLog: "Logs"
    },
    ContentOpLog: {
      Type: "Type",
      OperatorType: "User Type",
      Operator: "User",
      Details: "Details",
      LogTime: "Log Time",
    },
    Article: {
      Format: "Article Format",
      Markdown: {
        Placeholder: "Input...",
        AddImageLink: "Image Link",
        UploadImage: "Upload Image",
        UploadVideo: "Upload Video",
        UploadAudio: "Upload Audio",
        UploadFile: "Upload File",
        ImageText: "Image Alt",
        ImageLink: "Image Link",
      }
    },
    Image: {
      Title: "Title",
      Summary: "Summary",
      RedirectUrl: "Link",
      MoveUp: "Up",
      MoveDown: "Down",
      SetLogo: "Set Cover",
      Add: "Add Image",
      WidthHeight: "Width&Height",
      FileSize: "Size"
    },
    Audio: {
      Parameter: "Parameter",
      Type: "Type",
      FileSize: "Size",
      Format: "Format",
      Duration: "Duration",
      Decoder: "Decoder",
      Channels: "Channels",
      BitRate: "Bit",
      SamplingRate: "Sampling",
      Title: "Title",
      Author: "Author",
      Desc: "Summary",
      MoveUp: "Up",
      MoveDown: "Down",
      Add: "Add Audio"
    },
    Video: {
      Parameter: "Parameter",
      Type: "Type",
      FileSize: "Size",
      WidthHeight: "Resolution",
      Format: "Format",
      Duration: "Duration",
      Decoder: "Decoder",
      BitRate: "Bit Rate",
      FrameRate: "Frame Rate",
      Details: "Details",
      Title: "Title",
      Desc: "Summary",
      MoveUp: "Up",
      MoveDown: "Down",
      Add: "Add Video",
      AddThirdVideo: "Add Third Party Video",
      ThirdVideoTitle: "The third party video",
      ThirdVideoCode: "Video Code",
      Cover: "Cover",
      ScreenshotCover: "Screenshot",
      UploadCover: "Upload",
      ScreenshotDialog: "Video Screenshot",
      SetLogo: "Set Album Cover"
    },
    Book: {
      Basic: "Book Info",
      PublicationDate: "Pub. Date",
      Publisher: "Publisher",
      NumberOfPages: "Num. of pages",
      NumberOfWords: "Num. of words",
      Producer: "Producer",
      OriginalTitle: "Original title",
      Translators: "Translators",
      Price: "Price",
      CurrencyFen: "Fen",
      Completed: "Completed",
      Intro: "Introduce",
      ChapterList: "Chapters",
      InputChapterTitle: "Chapter title",
      SortAsc: "ASC",
      SortDesc: "DESC",
      PublishDate: "Publish date",
      PublishImmediately: "Publish Immediately",
      ChapterTitle: "Chapter title",
      Publish: "Publish",
      ToPublish: "Scheduled",
      Offline: "Offline",
      ToPublishDialogTitle: "Scheduled Publish",
      PublishSuccess: "Publish Success",
      OfflineSuccess: "Offline Success",
      ToPublishSuccess: "Scheduled Publish Success",
      CloseChapterEditorTip: "Chapter data not saved, are you sure to quit?",
      Route: {
        EditChapter: "Edit book chapter"
      },
      RuleTips: {
        Title: "Title cannot be empty.",
        Content: "Content cannot be empty.",
        PublishDate: "Publish date cannot be empty."
      }
    },
    PageWidget: {
      Type: "Type",
      Name: "Name",
      Code: "Code",
      PublishPipe: "Publish Pipe",
      Path: "Path",
      Template: "Template",
      InvalidPageWidgetId: "Invalid page widget id: {0}",
      Placeholder: {
        Type: "Select Type"
      },
      RuleTips: {
        Type: "Type cannot be empty.",
        Name: "Name cannot be empty.",
        Code: "Code cannot be empty and only [A-Za-z0-9_]+",
        PublishPipe: "Publish pipe cannot be empty.",
        Path: "Path cannot be empty and only [A-Za-z0-9_]+"
      },
      AddTitle: "Add Page Widget",
    },
    Adv: {
      Basic: "Basic",
      AdList: "Advertisement List",
      AdName: "Ad Name",
      Type: "Type",
      Status: "Status",
      Weight: "Weight",
      OnlineDate: "Online Date",
      OfflineDate: "Offlien Date",
      Placeholder: {
        Name: "Input name"
      },
      AddSpaceTitle: "Add Advertise Space",
      GoBack: "Go Back",
      AdMaterials: "Advertising Materials",
      RedirectUrl: "Redirect Url",
      RuleTips: {
        Type: "Type cannot be empty.",
        Name: "Name cannot be empty.",
        Weight: "Weight cannot be empty.",
        OnlineDate: "OnlineDate cannot be empty.",
        OfflineDate: "OfflineDate cannot be empty."
      }
    },
    Block: {
      Basic: "Basic",
      ManualList: "Custom List",
      Title: "Title",
      AddRow: "Add Row",
      Clean: "Clean",
      InsertRow: "Insert Row",
      Link: "Link",
      Summary: "Summary",
      Date: "Date",
      AddItem: "Add Item",
      EditItem: "Edit Item"
    },
    Resource: {
      Name: "Name",
      Type: "Type",
      StorageType: "Storage Type",
      FileSize: "File Size",
      UploadResource: "Upload",
      UploadTip1: "Drag the file here or click to upload.",
      UploadTip2: "The file format can only be {0}, and cannot exceed {1}.",
      AddDialogTitle: "Add Resource",
      EditDialogTitle: "Eidt Resource",
      FileTypeErrMsg: "The file format is incorrect.",
      RuleTips: {
        Name: "Name cannot be empty."
      },
      SelectorTitle: "Resources",
      LocalUpload: "Local Upload",
      RemoteLink: "Remote Link",
      Source: "Source",
      Upload: "Upload",
      UPloadTip: "The file format can only be {0}, and cannot exceed {1}.",
      Tag: "Tag",
      MaterialLibrary: "Library",
      MyMaterial: "My Materials",
      Cut: "Cut",
      UploadLimit: "The files cannot exceed: {0}",
      UploadFileSizeLimit: "The file size exceed: {0}",
      RemoteLinkErr: "The link cannot be empty and must start with http(s)://"
    },
    PublishPipe: {
      Name: "Name",
      Code: "Code",
      Status: "Status",
      AddDialogTitle: "Add Publish Pipe",
      EditDialogTitle: "Edit Publish Pipe",
      RuleTips: {
        Name: "Name cannot be empty.",
        Code: "Code cannot be empty and only [A-Za-z0-9_]+",
        Status: "Status cannot be empty.",
        Sort: "Sort cannot be empty."
      }
    },
    File: {
      Upload: "Upload",
      FileName: "File Name",
      FileSize: "File Size",
      ModifyTime: "Modify Time",
      InputFileName: "Input file name",
      Rename: "Rename",
      AddTitle: "Create file/directory",
      Type: "Type",
      Name: "Name",
      File: "File",
      Directory: "Directory",
      UploadTitle: "Upload file",
      UploadTip: "Drag the file here or click to upload.",
      ResourceRoot: "Site Resource Root",
      RuleTips: {
        FileName: "Cannot be empty and only [A-Za-z0-9_]+"
      }
    },
    Template: {
      Name: "Template Name",
      FileSize: "File Size",
      ModifyTime: "Modify Time",
      Rename: "Rename",
      RuleTips: {
        Name: "Cannot be empty and only [A-Za-z0-9_]+ and the suffix must be '{0}'"
      },
      ClearIncludeCache: "Clear Cache",
      AddTitle: "Add template file",
      EditTitle: "Rename template file",
      SelectorTitle: "Select template"
    },
    Staticize: {
      Tag: "Template Tag",
      TagName: "Name",
      TagDirective: "Tag Name",
      TagDesc: "Description",
      InputTagName: "Input tag name",
      TagAttr: "Attributes: ",
      TagAttrName: "Name",
      TagAttrDataType: "Data Type",
      TagAttrMandatory: "Required",
      TagAttrOptions: "Options",
      TagAttrDesc: "Description",
      DataField: "Data Fields",
      DeprecatedTag: "Deprecated",
      DeprecatedTip: "Deprecated (since: {0}, forRemoval: {1})",
      Func: "Template Function",
      InputFuncName: "Input function name",
      UsageDesc: "Usage: ",
      Demo: "Demo",
      ClickToShowDemo: "Click to view examples.",
      FuncAlias: "Alias: ",
      FuncArgs: "Arguments: ",
      FuncName: "Function Name",
      FuncDesc: "Description",
      FuncAttr: "Argument",
      FuncAttrName: "Name",
      FuncAttrType: "Type",
      FuncAttrRequired: "Required",
      FuncAttrDesc: "Description",
      DynamicTemplate: "System Dynamic Page",
      DynamicTempType: "Type",
      DynamicTempName: "Name",
      DynamicTempRequestPath: "Request Path",
      RequestArgs: "Request Args",
      DefaultValue: "Default Value",
      CustomDynamicTemplate: "Custom Dynamic Page",
      CustomDynamicPage: {
        Name: "Name",
        Code: "Code",
        Path: "RequestURI",
        InitDataType: "Init Data",
        AddTitle: "Add Custom Dynamic Page",
        EditTitle: "Edit Custom Dynamic Page",
      },
    },
    ExModel: {
      Name: "Name",
      Code: "Code",
      OwnerType: "Category",
      TableName: "Table Name",
      AddTitle: "Add ex-model",
      EditTitle: "Edit ex-model",
      Fields: "Fields",
      GoBack: "Go Back",
      FieldName: "Name",
      FieldCode: "Code",
      FieldType: "Field Type",
      FieldControlType: "Control Type",
      FieldMappingName: "Field Name",
      FieldMandatory: "Mandatory",
      FieldDefaultValue: "Default Value",
      FieldOptions: "Field Options",
      FieldOptionsInput: "Input",
      FieldOptionsDict: "Dictionary",
      AddFieldTitle: "Add ex-model field",
      EditFieldTitle: "Edit ex-model field",
      RouteExModelField: "Ex-Model Fields",
      Placeholder: {
        Query: "Input model name/code",
        FieldQuery: "Input field name/code"
      },
      RuleTips: {
        Name: "Name cannot be empty.",
        Code: "Code cannot be empty and only [A-Za-z0-9_]+",
        TableName: "Table name cannot be empty.",
        FieldName: "Name cannot be empty.",
        FieldCode: "Code cannot be empty and only [A-Za-z0-9_]+",
        FieldControlType: "Control type cannot be empty.",
        FieldMandatory: "Mandatory cannot be empty.",
        FieldType: "Field type cannot be empty.",
        FieldMappingName: "Table column name cannot be empty.",
        FieldMappingUsed: "The table column alreay used.",
      }
    },
    FriendLink: {
      GroupName: "Name",
      GroupCode: "Code",
      AddTitle: "Add friend-link group",
      EditTitle: "Edit friend-link group",
      GoBack: "Go Back",
      LinkName: "Name",
      LinkUrl: "URL",
      SortFlag: "Sort",
      AddLinkTitle: "Add friend-link",
      EditLinkTitle: "Edit friend-link",
      RouteLinkList: "Friend-Links",
      Placeholder: {
        GroupQuery: "Input group name/code",
        LinkQuery: "Input name/url"
      }
    },
    ESIndex: {
      RebuildAll: "Re-build All Indices",
      Query: "Input search query",
      OnlyTitle: "Only Match Title",
      IndexDetails: "Index Details",
      ProgressTitle: "Create index task",
    },
    CustomForm: {
      Name: "Name",
      Code: "Code",
      TableName: "Table Name",
      Status: "Status",
      NeedCaptcha: "Enable Captcha",
      NeedLogin: "Enable Login",
      RuleLimit: "Submit Rule",
      Publish: "Publish",
      Offline: "Offline",
      AddTitle: "Add Custom Form",
      EditTitle: "Edit Custom Form",
      RouteFieldList: "Custom Form Fields",
      Fields: "Fields",
      RouteData: "Custom Form Data",
      AddDataTitle: "Add Custom Form Data",
      EditDataTitle: "Edit Custom Form Data",
      DataList: "Form Data"
    }
  },
  WordMgr: {
    TAG: {
      AddGroup: "Add TAG Group",
      ParentGroup: "Parent Group",
      GroupName: "Group Name",
      GroupCode: "Group Code",
      GroupLogo: "Group Image",
      AddGroupTitle: "Add TAG Group",
      EditGroupTitle: "Edit TAG Group",
      TAGWord: "TAG",
      TAGWordUseCount: "Use Count",
      TAGWordHitCount: "Hit Count",
      TAGWordLogo: "Image",
      AddTAGTitle: "Add TAG",
      EditTAGTitle: "Edit TAG",
      SelectorTitle: "Select TAG",
      TagList: "TAG List",
      SelectedTagList: "Selected",
      Placeholder: {
        InputGroupName: "Input group name...",
        SelectParentGroup: "Select parent group...",
        InputTAG: "Input tag word...",
        BatchAdd: "Input tag words, one per line"
      }
    },
    HotWord: {
      AddGroup: "Add Hot Word Gropu",
      ParentGroup: "Parent Group",
      GroupName: "Group Name",
      GroupCode: "Group Code",
      AddGroupTitle: "Add Hot Word Group",
      EditGroupTitle: "Edit Hot Word Group",
      HotWord: "Hot Word",
      HotWordLink: "Link",
      HotWordLinkTarget: "Target",
      LinkTargetSelf: "Self Window",
      LinkTargetBlank: "New Window",
      HotWordUseCount: "Use Count",
      HotWordHitCount: "Hit Count",
      AddHotWordTitle: "Add Hot Word",
      EditHotWordTitle: "Edit Hot Word",
      Placeholder: {
        InputGroupName: "Input group name...",
        InputHotWord: "Input hot word..."
      }
    },
    SensitiveWord: {
      Word: "Sensitive Word",
      Type: "Type",
      TypeSensitive: "Sensitive",
      TypeWhiteList: "WhiteList",
      AddHotWordTitle: "Add Sensitive Word",
      Placeholder: {
        InputWord: "Input sensitive word..."
      }
    },
    ErrorProneWord: {
      Word: "Word",
      ReplaceWord: "Replacement",
      AddTitle: "Add Error Prone Word",
      Placeholder: {
        InputWord: "Input word..."
      }
    }
  },
  Stat: {
    Site: {
      PageView: "PV",
      UserView: "UV",
      IPView: "IP",
      AvgVisitTime: "Visit Time",
      VisitCount: "Visit Count",
      VisitTrend: "Visit Trend",
      Gran: "Time Granularity",
      GranHour: "Hour",
      GranDay: "Day",
      GranWeek: "Week",
      GranMonth: "Month",
      Top10EntryPage: "Top10 Entry Page",
      URL: "URL",
      Ratio: "Ratio",
      VisitLocation: "Visit Location",
      Location: "Location",
      NoSite: "No site!",
      UnitSecond: "(s)",
      TrendCharts: "Trend Charts",
      SourceSite: "Source Site",
      Top10SourceSite: "Top10 Source Site",
      Top10VisitPage: "Top10 Visit Page",
      NewOldVisitor: "Visitor",
      Metrics: "Metrics",
      NewVisitor: "New Visitor",
      OldVisitor: "Old Visitor",
      VisitSource: "Visit Source",
      EngineSource: "Search Engine Source",
      SearchWordSource: "Search Word Source",
      SearchWord: "Search Word",
    },
    Adv: {
      AdName: "Ad Name",
      Location: "Location",
      Source: "Source",
      DeviceType: "Device Type",
      Browser: "Browser",
      Time: "Time",
      Click: "Cick",
      View: "View",
      ClickRatio: "Click Ratio",
      Trend: "Trend",
      TrendDialogTitle: "Trend charts"
    }
  },
  Comment: {
    AuditPass: "Pass",
    AuditNotPass: "Not Pass",
    SourceType: "Source Type",
    SourceId: "Source ID",
    UID: "User ID",
    AuditStatus: "Status",
    Content: "Content",
    LikeCount: "Like",
    ReplyCount: "Reply",
    Time: "Time",
    Location: "Location",
    ClientType: "Client Type",
    ReplyContent: "Reply Content",
    ReplyTime: "Time",
    LikeList: "Like List",
    LikeTime: "Time",
    DelFlag: "IsDeleted",
    Deleted: "Deleted"
  },
  Vote: {
    Title: "Title",
    Code: "Code",
    CodeTip: "Only letters, numbers and underline can be used.",
    Status: "Status",
    TimeRange: "Time Range",
    Total: "Total",
    UserType: "User Type",
    ViewType: "Result View",
    DayAndTotalLimit: "Day/Total Limit",
    EidtSubjects: "Subjects",
    DayLimit: "Day Limit",
    TotalLimit: "Total Limit",
    AddVoteTitle: "Add Vote",
    EditVoteTitle: "Edit Vote",
    ItemTotal: "Poll",
    InputItemTip: "The input subject no items required.",
    Subject: "Subject",
    SubjectType: "Type",
    SubjectTitle: "Title",
    InsertSubject: "Insert",
    SubjectItemType: "Type",
    InsertSubjectItem: "Insert",
    AddSubjectItem: "Add",
    AddSubjectTitle: "Add Vote Subject",
    EditSubjectTitle: "Edit Vote Subject"
  },
  Member: {
    UID: "UID",
    UserName: "User Name",
    NickName: "Nick Name",
    PhoneNumber: "Phone Number",
    Password: "Password",
    Birthday: "Birthday",
    Status: "Status",
    Source: "Source",
    RegistTime: "Regist Time",
    LastLoginTime: "Last Login Time",
    ResetPwd: "Rest Password",
    InputPwd: "Input {0}'s new password",
    RestPwdSuccess: "Success, the new password is '{0}'.",
    AddTitle: "Add member",
    EditTitle: "Edit member",
    LevelType: "Level Type",
    Level: {
      Type: "Type",
      Level: "Level",
      Name: "Name",
      NextNeedExp: "Next Need Exp",
      AddTitle: "Add level config",
      EditTitle: "Edit level config"
    },
    ExpOpType: "Exp Operation Type",
    ExpOpNoLimit: "No Limit",
    Exp: "Exp",
    ExpOpDayLimit: "Day Limit",
    ExpOpTotalLimit: "Total Limit",
    AddExpOpTitle: "Add exp config",
    EditExpOpTitle: "Edit exp config",
    RuleTips: {
      UserName: "Must starts with letter and only letters, numbers and underline can be useds.",
      Member: "The username phonenumber and email cannot all be empty."
    }
  },
  MetaModel: {
    FieldName: "Name",
    FieldCode: "Code",
    FieldType: "Type",
    FieldControlType: "Control Type",
    FieldMappingName: "Field Name",
    FieldMandatory: "Mandatory",
    FieldDefaultValue: "Default Value",
    FieldOptions: "Field Options",
    FieldOptionsInput: "Input",
    FieldOptionsDict: "Dictionary",
    FieldValidation: "Validation",
    Validation: {
      NotEmpty: "Not Empty",
      Number: "Number",
      Int: "Integer",
      Date: "Date",
      Time: "Time",
      DateTime: "DateTime",
      Email: "Email",
      PhoneNumber: "PhoneNumber",
      Regex: "Regex"
    },
    AddFieldTitle: "Add model field",
    EditFieldTitle: "Edit model field",
    Placeholder: {
      FieldQuery: "Input field name/code",
      FieldOptionsInput: "Each line has one option, separated by '=', eg: xx=option 1",
      Regex: "Regex expression..."
    },
    RuleTips: {
      FieldName: "Name cannot be empty.",
      FieldCode: "Code cannot be empty and only [A-Za-z0-9_]+",
      FieldControlType: "Control type cannot be empty.",
      FieldMandatory: "Mandatory cannot be empty.",
      FieldType: "Field type cannot be empty.",
      FieldMappingName: "Table column name cannot be empty.",
      FieldMappingUsed: "The table column alreay used.",
    }
  },
  Search: {
    DictWord: {
      AnalyzeTest: "Word Analyze",
      Word: "Word",
      WordPlaceholder: "One world per line",
      Type: "Type",
      AddTitle: "Add Dictionary Word",
      EditTitle: "Edit Dictionary Word",
      WordAnalyzeTitle: "Word Analyze Test",
      WordAnalyzePlaceholder: "Enter the text to be tested...",
      WordAnalyzeTest: "Test",
      WordAnalyzeType: "Analyze Type",
      WordAnalyzeText: "Text",
      WordAnalyzeResult: "Result"
    },
    Log: {
      TabName: "Search Log",
      Word: "Search Query",
      Location: "Location",
      Source: "Source",
      ClientType: "Client Type",
      LogTime: "Time",
      Placeholder: {
        Word: "Input search word"
      }
    },
    WordStat: {
      TabName: "Query Statistics",
      Word: "Search Query",
      Total: "Total",
      Topping: "Topping",
      CancelTop: "Cancel Top",
      TopEndTime: "Topping End Time",
      Source: "Source",
      Trend: "Trend",
      AddExtWord: "Add Extend Dict",
      AddStopWord: "Add Stop Dict",
      ConfirmAddToDict: "Confirm add to dict?",
      AddTitle: "Add Search Query",
      EditTitle: "Edit Search Query",
      TrendDialogTitle: "Trend Chart",
      Placeholder: {
        Word: "Input search query..."
      }
    }
  },
  MessagePusher: {
    Config: {
      Name: "Name",
      Type: "Type",
      Status: "Status",
      ConfigJson: "Config",
      AddTitle: "Add Message Pusher Config",
      EditTitle: "Edit Message Pusher Config",
      Placehoder: {
        Query: "Input name..."
      }
    }
  },
  Flowable: {
    Category: {
      AddCategory: "Add Category",
      CategoryNamePlaceholder: "Input category name...",
      SortUp: "Move Up",
      SortDown: "Move Down",
      ParentCategory: "Parent",
      Name: "Name",
      TreeRootName: "Model Category",
    },
    Model: {
      Key: "Key",
      Name: "Name",
      Version: "Version",
      Status: "Status",
      Design: "Design",
      Suspend: "Suspend",
      Resume: "Resume",
      Category: "Category",
      AddModelTitle: "Add Model",
      DesignTitle: "Design Process",
      Placeholder: {
        ModelKey: "Input model key",
        ModelName: "Input model name"
      }
    }
  },
  Deploy: {
    Cert: {
      Domain: "Domain",
      Issuer: "Authority",
      IssueTime: "Issue Time",
      ExpireTime: "Expire Time",
      Apply: "Apply",
      Auth: "Authorizate",
      DownloadCrt: "Download",
      Country: "Country",
      State: "State",
      Locality: "Locality",
      Organization: "Organization",
      AuthChallenge: "Http-01 Challenge",
      DownloadHttp01File: "Dwonload http-01 challenge file.",
      AddDomain: "Add domain",
      EditDomain: "Edit domain",
      ConfirmApply: "Are you sure to apply for the certificate?",
      Applying: "Waiting for certificate application...",
      Authroizating: "Authorizating...",
      Servers: "Synchronize to server",
      Placeholder: {
        Domain: "Input domain..."
      }
    },
    ServerMachine: {
      Name: "Server Name",
      RemoteAddress: "Remote Addr.",
      Host: "Host",
      Port: "Port",
      UserName: "Username",
      KeyFile: "Login Key",
      Passphrase: "Passphrase",
      AddTitle: "Add Server",
      EditTitle: "Eidt Server",
      TestConnection: "Test Connection",
      ConnectionSuccess: "Connect Success",
      TestConnectionLoading: "Connecting...",
    },
    NginxConfig: {
      Name: "Name",
      Code: "Code",
      Type: "Type",
      ConfigText: "Configure",
      Status: "Status",
      Sync: "Synchronize to server",
      ConfirmSync: "Are you sure to sync the config `{0}` to deploy servers?",
      NginxNode: "Deploy Servers",
      AddTitle: "Add nginx config",
      EditTitle: "Edit nginx config",
    }
  }
};
